{$CLEO .cs}

//-------------MAIN---------------
0000:nop
wait 2000
//045B: draw_text_2numbers 280.0 420.0 GXT 'TIME' numbers 33 33  // ~1~:~1~

:KEY_1
wait 0 
if// or
//0AB0:  key_pressed 50   // /-=2=- 
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2512.7258 -1649.9827 14.3557 radius 10.0 10.0 10.0
else_jump @KEY_1
 5@ = 2481 //  
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -1.0 
 object.Create(6@,5@,2512.7258, -1649.9827, 13.50)
 object.Create(7@,5@,21@, 22@, 23@)
 069A: attach_object 7@ to_object 6@ at_offset 0.0 0.0 0.0 rotation 0.0 180.0 180.0
 21@ = actor.Angle($PLAYER_ACTOR)
 21@ += 90.0
 0453: object 6@ set_rotation 0.0 0.0 21@
 jump @RCcar_RUKA_3
//gosub @PULT_RC// 
//gosub @ANIM_STANDART

//=================================================================
:RCcar_1   // 
wait 0
if or
actor.Dead($PLAYER_ACTOR)
00E1: key_pressed 0 15 //ENTER CAR
else_jump @RCcar_2
0465: remove_actor $PLAYER_ACTOR from_turret_mode 
wait 500
object.Destroy(4@)
object.Destroy(7@)
car.Destroy(6@)
0605: actor $PLAYER_ACTOR perform_animation_sequence "PED_Console_Win" from_file "CRIB" 4.0 loop 0 0 0 0 -1 
actor.LockInCurrentPosition($PLAYER_ACTOR) = false
5@ = 2481 //  
gosub @LOAD_new_Object_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 
object.Create(6@,5@,21@, 22@, 23@)
object.Create(7@,5@,21@, 22@, 23@)
069A: attach_object 7@ to_object 6@ at_offset 0.0 0.0 0.0 rotation 0.0 180.0 180.0
21@ = actor.Angle($PLAYER_ACTOR)
21@ += 90.0
0453: object 6@ set_rotation 0.0 0.0 21@
070A: AS_actor $PLAYER_ACTOR attach_to_object 6@ offset 0.0 0.0 -0.30 on_bone 6 0 perform_animation "NULL" IFP_file "NULL" time 1
if
   056E: 0@ //C
   else_jump @RCcar_RUKA_1
   object.Destroy(2@)
   car.Destroy(0@)
   actor.DestroyInstantly(3@)
   03F0: text_draw_toggle  0
jump @RCcar_RUKA_1

:RCcar_2
if
   056E: 0@ //C
else_jump @RCcar_3
0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 0.0 0.0 
if 
   01AD:   car 6@ sphere 0 near_point 21@ 22@ radius 5.0 5.0
else_jump @RCcar_3
//21@ = car.Angle(6@)
//21@ -= 30.0
//car.Angle(0@) = 21@
gosub @TARGET_LOOCK_2
jump @RC_main_0

:RCcar_3
wait 0
if or
 00E1: key_pressed 0 0 //
 00E1: key_pressed 0 1 //
 00E1: key_pressed 0 17//FIRE
else_jump @RCcar_1
jump @RC_main_0

//==================================================
:RC_main_0
if
 00E1: key_pressed 0 17//FIRE
 else_jump @RC_main_1
 07DB: 6@ 0.90 0.0 0.0  //-    -0.80 .
 car.setanimation(6@,3,700)
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 9.0 0.0 
 066C: 8@ = attach_particle "explosion_tiny" to_vehicle 6@ offset 0.0 1.50 0.40 rotation 0.0 0.0 0.0 1
 064C: make_particle 8@ visible //, $PaLe -  .
 wait 0
 0650: destroy_particle 8@
  //0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
   if
   056E: 0@ //C
   else_jump @FIRE_EMPTY
   gosub @TARGET_LOOCK
   jump @RC_main_1
 //gosub @RC_RACE_1
 
 :FIRE_EMPTY// 
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 7.0 0.0
064B: 9@ = create_particle "smoke30m" at 21@ 22@ 23@ 1
064B: 8@ = create_particle "explosion_barrel" at 21@ 22@ 23@ 1
 064C: make_particle 9@ visible
 064C: make_particle 8@ visible
 wait 1000
 0650: destroy_particle 8@
 0650: destroy_particle 9@
 

:RC_main_1
if
 0AB0:   key_pressed 87//W
 else_jump @RC_main_2
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 2.0 0.0 
 gosub @RC_RACE_1
 
 :RC_main_2
if
 0AB0:   key_pressed 83//S
 else_jump @RC_main_3
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 -2.0 0.0 
 car.setanimation(6@,3,500)
 //gosub @RC_RACE_1
 
 :RC_main_3
if
 0AB0:   key_pressed 65//A
 else_jump @RC_main_4
 //0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset -2.0 0.0 0.0 
// gosub @RC_RACE_1
21@ = car.Angle(6@)
21@ += 10.0
car.Angle(6@) = 21@
jump @RCcar_3
 
 :RC_main_4
if
 0AB0:   key_pressed 68//D
 else_jump @RC_main_5
// 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 2.0 0.0 0.0 
 //gosub @RC_RACE_1
 21@ = car.Angle(6@)
21@ -= 10.0
car.Angle(6@) = 21@
 jump @RCcar_3
 
 :RC_main_5 // 
 if
   056E: 0@ //C
  else_jump @RCcar_1
 gosub @RC_RACE_2
 jump @RCcar_1
 //==============================================
 :RC_RACE_1
 05D6: clear_scmpath
 00AD: set_car 6@ max_speed_to 20.0 
 00AE: unknown_set_car 6@ to_ignore_traffic_lights 2
 //00A7: car 6@ drive_to 21@ 22@ 23@
 02C2: car 6@ drive_to 21@ 22@ 23@
 return
 
 :RC_RACE_2
 //car.StorePos(6@,21@, 22@, 23@)
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 -2.0 0.0
 05D6: clear_scmpath
 00AD: set_car 0@ max_speed_to 20.0 
 00AE: unknown_set_car 0@ to_ignore_traffic_lights 2
 02C2: car 0@ drive_to 21@ 22@ 23@
 //07F8: car 0@ follow_car 6@ radius 2.1
 //00AE: unknown_set_car 0@ to_ignore_traffic_lights 2
 return
 
 :RC_RACE_3
 //car.StorePos(6@,21@, 22@, 23@)
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 0.0 0.0
 05D6: clear_scmpath
 00AD: set_car 0@ max_speed_to 20.0 
 00AE: unknown_set_car 0@ to_ignore_traffic_lights 2
 02C2: car 0@ drive_to 21@ 22@ 23@
 //07F8: car 0@ follow_car 6@ radius 2.1
 //00AE: unknown_set_car 0@ to_ignore_traffic_lights 2
 return
 //===========================================
 //===========================================    
 //===========================================
 :TARGET_LOOCK
 24@ = 0.0
 
 :TARGET_YES
 wait 0
 24@ += 1.0
 0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 24@ 0.0 
   if 
   01AD:   car 0@ sphere 0 near_point 21@ 22@ radius 0.50 0.50
 else_jump @TARGET_No
   064B: 9@ = create_particle "explosion_tiny" at 21@ 22@ 23@ 1
   064C: make_particle 9@ visible
   07DB: 0@ 10.90 0.0 0.0  //-    -0.80 .
   wait 1500
   car.Destroy(0@)
   wait 0
   0650: destroy_particle 9@
   5@ = #RCTIGER
   gosub @LOAD_new_Object_1
   //0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 3.0 -3.0 1.0
   04C4: store_coords_to 21@ 22@ 23@ from_actor 3@ with_offset 1.0 1.0 1.0 
   car.Create(0@,5@,21@, 22@, 23@)
   car.SetImmunities(0@,1,1,1,1,1)
   10@ += 1
   03F0: text_draw_toggle  0
   wait 0
   045B: draw_text_2numbers 280.0 420.0 GXT 'TIME' numbers 10@ 11@  // ~1~:~1~ 
 return
 
 :TARGET_NO
 if 
   24@ > 9.0
  else_jump @TARGET_YES 
  0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 24@ 0.0
   064B: 9@ = create_particle "smoke30m" at 21@ 22@ 23@ 1
   064B: 8@ = create_particle "explosion_barrel" at 21@ 22@ 23@ 1
 064C: make_particle 9@ visible
 064C: make_particle 8@ visible
 wait 0
 0650: destroy_particle 8@
 0650: destroy_particle 9@
 gosub @TARGET_LOOCK_2
  return
  
  :TARGET_LOOCK_2
  //gosub @RC_RACE_3
 // wait 2000
  //21@ = car.Angle(6@)
 // 21@ -= 90.0
 /// car.Angle(0@) = 21@
 07DB: 0@ 0.90 0.0 0.0  //-    -0.80 .
 car.setanimation(0@,3,700)
 0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 9.0 0.0 
 066C: 8@ = attach_particle "explosion_tiny" to_vehicle 0@ offset 0.0 1.50 0.40 rotation 0.0 0.0 0.0 1
 064C: make_particle 8@ visible //, $PaLe -  .
 wait 0
 0650: destroy_particle 8@
 24@ = 0.0
 
 :TARGET_YES_2
 wait 0
 24@ += 1.0
 0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 24@ 0.0 
   if 
   01AD:   car 6@ sphere 0 near_point 21@ 22@ radius 1.50 1.50
 else_jump @TARGET_No_2
   064B: 9@ = create_particle "explosion_tiny" at 21@ 22@ 23@ 1
   064C: make_particle 9@ visible
   07DB: 6@ 10.90 0.0 0.0  //-    -0.80 .
   wait 1500
   car.Destroy(6@)
   wait 0
   0650: destroy_particle 9@
   5@ = #RCTIGER
   gosub @LOAD_new_Object_1
   //0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 2.0 -2.0 0.0
   04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 0.0
   car.Create(6@,5@,21@, 22@, 23@)
   car.SetImmunities(6@,1,1,1,1,1) 
   11@ += 1
   03F0: text_draw_toggle  0
   wait 0
   045B: draw_text_2numbers 280.0 420.0 GXT 'TIME' numbers 10@ 11@  // ~1~:~1~ 
 return
 :TARGET_NO_2
 if 
   24@ > 9.0
  else_jump @TARGET_YES_2 
  0407: store_coords_to 21@ 22@ 23@ from_car 0@ with_offset 0.0 24@ 0.0
   064B: 9@ = create_particle "smoke30m" at 21@ 22@ 23@ 1
   064B: 8@ = create_particle "explosion_barrel" at 21@ 22@ 23@ 1
 064C: make_particle 9@ visible
 064C: make_particle 8@ visible
 wait 0
 0650: destroy_particle 8@
 0650: destroy_particle 9@
  return
//================================================
//=================================================
:RCcar_RUKA_1
wait 0
if 
 00E1: key_pressed 0 4 //TAB
 else_jump @RCcar_RUKA_2
 if
03CA: object 6@ exists
else_jump @RCcar_RUKA_2
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
if
056E: 0@
else_jump @CREAT_TANK_RC
if
0202:   actor $PLAYER_ACTOR near_car 0@ radius 4.0 4.0 flag 0 
else_jump @CREAT_TANK_RC
jump @RCcar_RUKA_1

:CREAT_TANK_RC
10@ = 0 //
11@ = 0
 object.Destroy(6@)
 object.Destroy(7@)
 5@ = #RCTIGER//#RCBANDIT //
gosub @LOAD_new_Object_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 -0.90 
car.Create(6@,5@,21@, 22@, 23@)
car.SetImmunities(6@,1,1,1,1,1) 
 21@ = Actor.Angle($PLAYER_ACTOR)
 21@ -= 1.0
 car.Angle(6@) = 21@
 
 5@ = 2481 //  
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 -0.50 -1.0
 object.Create(7@,5@,21@, 22@, 23@)
 21@ = actor.Angle($PLAYER_ACTOR)
 21@ += 180.0
 object.Angle(7@) = 21@
 04F4: put_actor $PLAYER_ACTOR into_turret_on_object 7@ offset_from_object_origin 0.0 0.0 0.40 orientation 0 both_side_angle_limit 360.0 lock_weapon 0 
 wait 2000
 player.CanMove($PLAYER_CHAR) = false
 player.CanMove($PLAYER_CHAR) = True
 gosub @PULT_RC// 
 21@ = car.Angle(6@)  //C Ҩ    
 21@ -= 180.0
 0173: set_actor $PLAYER_ACTOR Z_angle_to 21@ 

 if
 00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 2512.7258 -1649.9827 14.3557 radius 50.0 50.0 50.0
 else_jump @RCcar_1
   5@ = #RCTIGER // 
   gosub @LOAD_new_Object_1
   0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset -2.0 10.0 0.0
   car.Create(0@,5@,21@, 22@, 23@)
   car.SetImmunities(0@,1,1,1,1,1)
   gosub @RC_RACE_2   
   gosub @LOAD_SPECIAL_ACTOR
 jump @RCcar_1


 :RCcar_RUKA_2 //C 
//wait 0
if or
 83CA: not object 6@ exists
 00E1: key_pressed 0 15 //EXIT CAR
 else_jump @RCcar_RUKA_1
 gosub @RC_ATACH_CAR_1//  
 jump @RCcar_RUKA_3
 //============================
 :RC_ATACH_CAR_1 
 wait 0
  0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
   if
   056E: 0@
  else_jump @RC_ATACH_CAR_2
  //04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 
   if
    0202:   actor $PLAYER_ACTOR near_car 0@ radius 2.0 2.0 flag 0 
   else_jump @RC_ATACH_CAR_2
 object.Destroy(6@)
 object.Destroy(7@)
 5@ = 2481 //  
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 -2.0 
 object.Create(6@,5@,21@, 22@, 23@)
 object.Create(7@,5@,21@, 22@, 23@)
 069A: attach_object 7@ to_object 6@ at_offset 0.0 0.0 0.0 rotation 0.0 180.0 180.0
 0681: attach_object 6@ to_car 0@ at_offset  0.60 0.25 -0.20 rotation 90.0 0.0 180.0
  // gosub @WAIT_CAR_MODEL_01d //  
  return
 
 :RC_ATACH_CAR_2// 
  object.Destroy(6@)
 object.Destroy(7@)
 5@ = 2481 //  
 gosub @LOAD_new_Object_1
 04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 1.0 1.0 -1.0 
 object.Create(6@,5@,21@, 22@, 23@)
 object.Create(7@,5@,21@, 22@, 23@)
 069A: attach_object 7@ to_object 6@ at_offset 0.0 0.0 0.0 rotation 0.0 180.0 180.0
 21@ = actor.Angle($PLAYER_ACTOR)
 21@ += 90.0
 0453: object 6@ set_rotation 0.0 0.0 21@
  return
 //============================ 
 //============================ 
 //============================
 :RCcar_RUKA_3  // 
wait 0
if
03CA: object 6@ exists //-  $Obj 
else_jump @RCcar_RUKA_4
if and
 0471: unknown_actor $PLAYER_ACTOR near_object 6@ radius 1.30 1.30 unknown 0
 00E1: key_pressed 0 4 //TAB
 else_jump @RCcar_RUKA_4
 object.Destroy(6@)
 object.Destroy(7@)
 5@ = 2481 //  
gosub @LOAD_new_Object_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 
object.Create(6@,5@,21@, 22@, 23@)
object.Create(7@,5@,21@, 22@, 23@)
069A: attach_object 7@ to_object 6@ at_offset 0.0 0.0 0.0 rotation 0.0 0.0 180.0
21@ = actor.Angle($PLAYER_ACTOR)
21@ += 90.0
0453: object 6@ set_rotation 0.0 0.0 21@
070A: AS_actor $PLAYER_ACTOR attach_to_object 6@ offset 0.0 0.0 -0.30 on_bone 6 0 perform_animation "NULL" IFP_file "NULL" time 1
wait 1000
 jump @RCcar_RUKA_2
 
 :RCcar_RUKA_4  // 
wait 0
if or
 83CA: not object 6@ exists //-  $Obj  .
 8471: not unknown_actor $PLAYER_ACTOR near_object 6@ radius 20.0 20.0 unknown 0
  else_jump @RCcar_RUKA_3
  object.Destroy(6@)
  object.Destroy(7@)
  jump @KEY_1
//===========================================  
//=============== ===============
//===========================================  
:PULT_RC
5@ = 364 //
gosub @LOAD_new_Object_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -0.90 
object.Create(4@,5@,21@, 22@, 23@)
070A: AS_actor $PLAYER_ACTOR attach_to_object 4@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
model.Destroy(5@)
gosub @ANIM_STANDART
return

 :PULT_RC_2
5@ = 364 //
gosub @LOAD_new_Object_1
04C4: store_coords_to 21@ 22@ 23@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 -0.90 
object.Create(2@,5@,21@, 22@, 23@)
070A: AS_actor 3@ attach_to_object 2@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
model.Destroy(5@)
gosub @ANIM_STANDART
return

//==========================
 //==========================LOAD-OBJECT
 //==========================
 :LOAD_new_Object_1
 Model.Load(5@)  
 038B: load_requested_models 
 
 :LOAD_new_Object_2
 wait 0
 if
  model.Available(5@)
  else_jump @LOAD_new_Object_2
  return
 //========================================
 :ANIM_STANDART
 wait 0
  04ED: load_animation "CRIB"
  if 
  04EE:   animation "CRIB" loaded
  else_jump @ANIM_STANDART
 0605: actor $PLAYER_ACTOR perform_animation_sequence "CRIB_Console_Loop" from_file "CRIB" 4.0 loop 1 0 0 0 -1 
 return
  //===============ZERO=================
 :LOAD_SPECIAL_ACTOR
 023C: load_special_actor 'ZERO' as 1 // models 290-299 
 038B: load_requested_models 
 
 :LOAD_SPECIAL_ACTOR_1
 wait 0
 if
  023D:   special_actor 1 loaded 
else_jump @LOAD_SPECIAL_ACTOR_1
  0407: store_coords_to 21@ 22@ 23@ from_car 6@ with_offset 0.0 10.0 -0.50
  //actor.Create(3@,08,1,21@, 22@, 23@)
  actor.create(3@,mission1, #special01, 21@, 22@, 23@)
   21@ = actor.Angle($PLAYER_ACTOR)  //C Ҩ    
   21@ += 190.0
   0173: set_actor 3@ Z_angle_to 21@ 
   actor.SetImmunities(3@,1 , 1, 1, 1, 1)
   0619: enable_actor 3@ collision_detection 0 
  gosub @PULT_RC_2
  0605: actor 3@ perform_animation_sequence "CRIB_Console_Loop" from_file "CRIB" 4.0 loop 1 0 0 0 -1
  return
 //==================================